package juego;

import java.lang.Math;

public class Coordenada {
	
	//atributos de instancia
	private int x;
	private int y;

	//metodos
	
	public Coordenada(int coordenadaX, int coordenadaY) {
		
		this.x = coordenadaX;
		this.y = coordenadaY;
	}
	
	public int obtenerCoordenadaX() {
		
		return x;
	};
	
	public int obtenerCoordenadaY() {
		
		return y;
	};
	
	public void cambiarCoordenadaX(int coordenadaX) {
		
		this.x = coordenadaX;
	};
	
	public void cambiarCoordenadaY(int coordenadaY) {
		
		this.y = coordenadaY;
	};

	public void moverEnX(int horizontal) {
		
		this.x += horizontal;
	};
	
	public void moverEnY(int vertical) {
		
		this.y += vertical;
	};
	
	public void moverEnXY(int horizontal, int vertical) {
		
		this.x += horizontal;
		this.y += vertical;
	}

	public int distancia(Coordenada punto) {
		
		int distanciaEnX = (punto.obtenerCoordenadaX() - this.x);
		int distanciaEnY = (punto.obtenerCoordenadaY() - this.y);
		int sumaDistancias = (distanciaEnX * distanciaEnX) + (distanciaEnY * distanciaEnY); 
		double modulo = Math.sqrt((double) sumaDistancias);
		return (int) modulo;
	};
	

	public Coordenada normalizarCoordenada(){
		Coordenada otraCoordenada = new Coordenada(0,0);
		int modulo = this.distancia(otraCoordenada);
		int coordenadaX = (int)(x/modulo);
		int coordenadaY = (int)(y/modulo);
		otraCoordenada.cambiarCoordenadaX(coordenadaX);
		otraCoordenada.cambiarCoordenadaY(coordenadaY);
	    return otraCoordenada;
	};          
	
}
